package com.whfc.ms.api.mach.service;

import com.whfc.mach.dto.maintain.MaintainMonthReportDTO;
import com.whfc.mach.dto.maintain.MaintainPayStatDTO;
import com.whfc.mach.dto.maintain.MaintainYearReportDTO;

import java.util.Date;

/**
 * 设备保养报表
 *
 * @author sun_guodong
 * @date 2021-08-13
 */
public interface MsMachMaintainReportService {

    /**
     * 统计保养费用
     *
     * @param deptId
     * @param startDate
     * @param endDate
     * @param keyword
     * @return
     */
    MaintainPayStatDTO maintainPayStat(Integer deptId, Date startDate, Date endDate, String keyword);

    /**
     * 设备保养月报
     *
     * @param deptId
     * @param startDate
     * @param endDate
     * @param keyword
     * @return
     */
    MaintainMonthReportDTO reportByMonth(Integer deptId, Date startDate, Date endDate, String keyword);

    /**
     * 设备保养年报
     *
     * @param deptId
     * @param year
     * @param keyword
     * @return
     */
    MaintainYearReportDTO reportByYear(Integer deptId, Integer year, String keyword);

    /**
     * 导出保养月报
     *
     * @param deptId
     * @param startDate
     * @param endDate
     * @param keyword
     */
    void export(Integer deptId, Date startDate, Date endDate, String keyword);

    /**
     * 导出保养年报
     *
     * @param deptId
     * @param year
     * @param keyword
     */
    void export(Integer deptId, Integer year, String keyword);
}
